home *** CD-ROM | disk | FTP | other *** search
/ SuperHack / SuperHack CD.bin / CODING / MISC / ONEWAYFU.ZIP / ONEWAYFU.TXT
Encoding:
Text File  |  1996-02-22  |  18.4 KB  |  292 lines

  1.      One Way Functions,Insolvable Problems, Static and Dynamic Encryption
  2.  
  3. A one-way function is a function whose inverse is difficult to compute.  In
  4. finite mathematics, the most difficult problem we have known is to find roots
  5. of algebraic equations, a problem proved insolvable in finite mathematics.  It
  6. may be possible to create functions whose inversions are problems insolvable
  7. in finite mathematics.  Here we shall discuss the possibility and feasibility
  8. to create these functions for data encryption.
  9.  
  10.      I. INSOLVABLE PROBLEMS, THEORY OF EQUATIONS, AND ONE-WAY FUNCTIONS
  11. A problem in finite mathematics is insolvable if its solution cannot be
  12. obtained through finite number of rational operations, namely, addition,
  13. subtraction, multiplication, and division.  Here, we concern only the existence
  14. of a mathematic method, not how long it takes to compute the solution.  In
  15. finite mathematics, we can always use the exhaustive method to find a solution.
  16. However, the exhaustive method is an ad hoc method and we have to change the
  17. scheme as the problem changes.
  18.  
  19. If we can derive solution x to a problem defined in a finite field F through
  20. rational operations, then we can apply rational operations to x, namely, to
  21. compute any integer power of x, x^i, and any linear combination of them in
  22. F, i.e., a polynomial of x, a_kx^k+a_(k-1)x^(k-1)+..+a_0, where a_i, i=0 to
  23. k, are in F.  If we want to stay in finite mathematics, then the number of
  24. elements we create must be finite and there must exist a minimum n such that
  25. x^i's, i=1 to n, are linearly dependent, i.e., we can find a_i's in F such that
  26. x^n+(a_(n-1)x^(n-1)+a_(n-2)x^(n-1)+..a_0=0, an algebraic equation of degree n
  27. with x as one of its roots. This equation is irreducible because n is the
  28. minimum.  All these polynomials of x in F form a finite field F', known as
  29. an algebraic extension of F.
  30.  
  31. We can also extend F to F' with solutions to a set of problems defined in F and
  32. elements of F', rational functions of these solutions in F, are solutions to
  33. some problems in F and must also satisfy some algebraic equations in F.
  34. Elements that cannot satisfy any algebraic equation of a finite degree are
  35. called transcendental, e.g., transcendental numbers and transcendental
  36. functions, which belong to transfinite mathematics.  To solve a problem in
  37. finite mathematics and to find roots of an equation in finite mathematics are,
  38. therefore, related and, if we want to create the hardest problem in finite
  39. mathematics, we have to know theory of equations.
  40.  
  41. Theory of equations, an analytic theory of permutations and the symmetric
  42. group, is rather complicated.  Briefly, if an equation f(x)=0 defined in F
  43. has n distinct roots x_i, i=1 to n, then f(x)=(x-x_1)(x-x_2)..(x-x_n).
  44. Permutations on the roots will not alter f(x) and they form a group G={A_i,
  45. i=1 to M), where M is the order of G.  The set of all rational functions of
  46. roots of f(x)=0 form a field, an extension F' of F by joining roots to F.  If
  47. we permute x_i's among themselves, then elements in F' are also permuted
  48. among themselves, namely, a mapping g(x) of F' onto F'.  Then roots of
  49. f(g(x))=0 becomes g(x)=x_i.  Inverting g(x)=x_i, we get x=h(x_i) and a root
  50. of an equation may be expressed as rational function of roots of some other
  51. equations.
  52.  
  53. If roots of every equation were expressed this way, then we could find roots
  54. through a finite number of rational operations on roots of some known or
  55. choice equations.  However, theory of equations asserts that roots of an
  56. equation under G can be expressed as rational functions of roots of other
  57. equations if and only if G has invariant subgroups.  In particular, if roots
  58. of an equation can be expressed as rational functions of roots of choice
  59. equations x^p- A=0's, the group for the equation is called solvable and the
  60. equation, solvable through radicals.  Equations of a degree less than five can
  61. be solved through radicals.  The group for a general equation of degree n is
  62. the symmetric group on n letters, S_n.  Group S_n always has one invariant
  63. subgroup of index 2, the alternating group on n letters, A_n.  Therefore, we
  64. can always decompose an equation into the real part and the imaginary part,
  65. neither of which we can solve when n>4, because A_n is simple and not solvable.
  66. As a result, a general equation of degree n>4 is insolvable in finite
  67. mathematics. To generate S_n or A_n is obviously an attempt to create a problem
  68. insolvable in finite mathematics.
  69.  
  70. This is the theory.  What happens is that rational operations in finite
  71. mathematics are not unique.  If we have a root of irreducible F(x)=0 under
  72. group G, then we join the root to F to extend it to F', which is isomorphic to
  73. g(x)=h(x) (mod F(x)).  Using rational operations in F' to solve f(x)=0 means to
  74. solve f(x)=0 (mod F(x)).  If solutions to the two equations are different, then
  75. we cannot solve f(x)=0 this way.  If we use rational operations to solve a
  76. problem, we may face the same difficulty.  Therefore, insolvability in finite
  77. mathematics is common to many problems.
  78.  
  79. We may divide problems into classes, each of which contains problems whose
  80. solutions can be expressed as rational functions of roots of an equation under
  81. a simple group.  According to theory of equations, solutions to classes of
  82. problems are independent because we cannot derive solutions to problems in one
  83. class from solutions to problems in other classes.  The classes of problems
  84. are infinite and the classes of problems we have solved are finite.  Therefore,
  85. insolvability means that we cannot solve new problems based on what we have
  86. known.  Accordingly, if we want to create the hardest problem under a given
  87. condition, then the problem should be a problem combined with as many classes
  88. of problems as possible and the equation associated with each class is of the
  89. highest degree as possible.
  90.  
  91. The major problem in cryptoanalysis is whether we can find the decipher
  92. function in finite mathematics, namely, through finite number of rational
  93. operations.  A decipher function is a root of some irreducible equation in F,
  94. whose group is G'.  All decipher functions that can be expressed as rational
  95. functions of roots of the equation create G' in some way.  The best
  96. encryption system finite mathematics can offer is a system with G' as large as
  97. possible to assure the degree of the equation is as high as possible, namely,
  98. G'=S_N or A_N, and as many irreducible equations created by the decipher
  99. functions as possible.  To meet this requirement, we should select the set of
  100. decipher functions such that any selection of a few of the decipher functions
  101. from the set can create S_N or A_N.  Therefore, generation of symmetric groups
  102. from some selected elements is essential to create one-way functions and strong
  103. encryption systems.
  104.  
  105.    II. GENERATION OF SYMMETRIC GROUPS AND UNBREAKABLE ENCRRYPTION SYSTEMS
  106. Generation of the symmetric group through random elements was discussed in
  107. sci.math.research on 05 Jan. 1994.  One possible motive to study this
  108. problem is to create an encryption system insolvable in finite mathematics.
  109. The general belief is, apparently, that we need O(ln(N)) random elements to
  110. generate the symmetric group.  Since ln(2^64) is about 43, it becomes a general
  111. practice to iterate an algorithm 16 to 64 times.  To justify this practice, we
  112. have to assume that elements are distributed evenly.  However, elements of the
  113. symmetric group have no natural order.  The algorithm may order elements such
  114. that all good elements in one place and the bad one, the other place.  As a
  115. result, iterations of the algorithm may be equivalent to selecting elements of
  116. only one kind and may fail to generate the symmetric group.  Besides, there is
  117. no assurance that a few of the decipher functions generated by the algorithm
  118. with any keys will also generate the symmetric group.
  119.  
  120. The application of generation of the symmetric group also interests my friends
  121. in the Far East and me.  We have some interesting results and more mathematical
  122. details was posted recently on sci.math.research.  Here is the basic result.
  123.  
  124. THEOREM: It takes no more than three choice elements to generate a finite
  125. group G, which can be either the symmetric group on N letters or its
  126. alternating group.
  127.  
  128. DEFINITION:  We say a group R contains a set P, if every element of P belongs
  129. to R.  The intersection of all possible R is the minimum group H that contains
  130. P and sometimes we say P generates H.  Group H is unique.  A proper subgroup U
  131. of G is a maximum proper subgroup of G if any subgroup U' containing U must be
  132. either U or G.  There may be many distinct U's. Maximum proper subgroups of G
  133. offers the best way to select elements to create G, because a set P of elements
  134. of G will generate G if there is no maximum proper subgroup of G containing P.
  135.  
  136. Here, I shall use an example to illustrate how we can create S_5.  The example
  137. is too simple to help anyone to create a strong system and I will not be accused
  138. of exporting encryption technology through the Internet.
  139.  
  140. To create S_5, we select an element randomly and we probably get an element
  141. involved with only two letters, e.g., (12), because there are 10 of them.  The
  142. possible maximum proper subgroups that contain (12), are [1,2,3,4], [1,2,3,5],
  143. [1,2,4,5],{[123],[45]}, {[124],[35]}, {[125],[34]}, and {(12),[345]}, where
  144. [1,..] denotes the permutation group on the enclosed letters and {a,b..} means
  145. the group generated by the enclosed elements.  Obviously, element (12345) is
  146. not in any of the maximum proper subgroups and {(12),(12345)}=S_5.  If element
  147. (12345) was difficult to find, then we should select element b in one of the
  148. maximum proper subgroups such that b is unique to the subgroup.  Then only one
  149. maximum proper subgroup contains (12) and b.  Selecting element c outside this
  150. maximum proper subgroup, we create S_5 with (12), b, and c.  That is what the
  151. theorem asserts.
  152.  
  153. We can show that it is feasible and practical to create the best system.
  154. According to the theorem and other studies that the probability that two random
  155. elements to generate S_n or A_n is 1-O(1/n) ( see references posted in
  156. sci.math.research in the thread "generation of permutation groups by random
  157. elements," 05 Jan 1994), there must be a majority of elements having this
  158. property, namely, being highly complex, irregular, and difficult to see how to
  159. construct them from simple operations on a computer, and a small minority of
  160. elements does not have this property, being highly regular, simple, and easy to
  161. construct from simple operations.  However, group multiplication changes
  162. elements around, namely, G={a_i, i=1 to M}=xG={xa_i, i=1 to M}.  In other words,
  163. group G is represented as mappings of a space G of M elements one-to-one onto
  164. itself.
  165.  
  166. If the representation is irreducible, then the mappings will not leave any
  167. subspace of G unaltered.  In other words, if x is a regular element, then a
  168. small fraction of irregular elements will be changed to regular ones and an
  169. equal number of regular a_i migrating to the majority.  A small fraction of
  170. the majority means a relatively large number for the minority and a choice
  171. selection of a few xa_i's with regular a_i, e.g., four these elements, will
  172. create S_n, because they are irregular.  For simplicity, the cipher function
  173. is the product of these four elements.  Obviously, any four or so of these
  174. cipher functions can also create S_n because they are also irregular.
  175. Therefore, an unbreakable encryption system is a matter of properly combining
  176. some simple operations, not a matter of repeating the same algorithm many
  177. times.
  178.  
  179. If we have an analytic method of cryptoanalysis, e.g., the method of
  180. differential analysis, then we can also use this method to construct the best
  181. encryption system.  An operation or an algorithm or an element possesses
  182. certain properties to make it easy or difficult to break.  If we quantify
  183. these properties by parameter q, then elements with q near q_0 are the most
  184. difficult to break and become easier when q is farther away from q_0.  The
  185. distribution curve according to q is of a bell shape centered at q_0.
  186. Elements at the two edges of the bell curve are simple and easy to break and
  187. to create.  If we select two elements, one at each edge, we can create some
  188. elements between the two through interpolation.
  189.  
  190. The bell curve is multi-dimensional and we select elements from various
  191. dimensions, e.g., eight elements from four dimensions.  Using these eight
  192. elements, we can create every element through interpolation.  For elements of a
  193. group, the method of interpolation is a possible group product of the eight
  194. elements.
  195.  
  196. In either case, we need eight operations.  An operation on 64-bit data can be
  197. implemented with a minimum of two instructions on a 32-bit machine.  Therefore,
  198. the best system with 64-bit blocks needs about twenty instructions on a 32-bit
  199. machine, depending on the efficiency of the instruction set.  Obviously, this
  200. system with a 40-bit key will never be licensed for export, because there is no
  201. way to prevent the user from encrypting data twice with 80-bit key and four
  202. times with a 160-bit key.  The issue of key-length is, apparently, a part of
  203. disinformation to mislead people to believe that the length of keys, not the
  204. algorithm, is the only important factor.
  205.  
  206.    III. THE DYNAMIC ENCRYPTION SYSTEM AND ITS APPLICATION TO IDENTIFY
  207.              FRIENDS AND FOES, THE GENUINE AND THE COUNTERFEIT
  208. Once we know how to create the symmetric group, we can create the strongest
  209. encryption system to meet whatever we need.  Most encryption systems are static
  210. because they do not depend on time.  We may introduce a new variable, the time
  211. variable, into the system and make the system a dynamic system.  The dynamic
  212. system encrypts the same message into different codes if it is encrypted at
  213. different times.  The one-time pad is an example.  However, the one-time pad is
  214. very difficult to use.  We may use redundancy coding to achieve the the same
  215. feature.
  216.  
  217. Communication through sound waves is an encryption system.  We encrypt a
  218. message into sound waves and decipher sound waves back to the message at the
  219. receiver.  However, this system has redundancy because sound waves carry not
  220. only the message, but also information about the source that emits them.  This
  221. is why we can identify our relatives through their voices, though we may not
  222. understand the languages they are speaking.  Using this redundancy feature, we
  223. can mathematically simulate a dynamic system.
  224.  
  225. The new system is consisted of N speakers each speaks a distinct language
  226. with a distinct voice and a timer with a counter to register up to N ticks of
  227. the clock.  When a message comes in for encryption, the system reads the
  228. counter of the timer.  If it is k, then the system uses the k-th speaker to
  229. encrypt the message in the distinct language with the distinct voice the k-th
  230. speaker speaks.  The receiver, detecting the speaker from the voice, will use
  231. the k-th listener to decipher the message.  If the same message is to encrypt
  232. again, the system will use a different speaker and the code will be different
  233. from the previous ones, but the receiver can decipher it without any further
  234. information.  Obviously, the static system uses only one speaker and is
  235. much weaker than the dynamic system.
  236.  
  237. One of the important applications of data encryption is to keep things secret
  238. and an unbreakable encryption system will do that.  The other is to identify
  239. friends and foes, and the genuine and the counterfeit.  The dynamic system
  240. is very good for the latter, because the time variable may serve as a time
  241. stamp or an official seal.  The conventional method is to use passwords to
  242. identify friends and foes: the guard asks a guest the password and,
  243. answering correctly, the latter is admitted.  However, with modern
  244. eavesdropping and reproduction technologies, one can record the password
  245. and use it to break the system.  If we use the dynamic system, the guard,
  246. speaking in English, asks the guest to answer the password in French.  The
  247. guest, identifying English from the voice of the speaker, using the English
  248. interpreter to decode the message, and issuing the password in French
  249. through the French speaker, is allowed in.  The intruder, using the recorded
  250. password in a different language, will be arrested on the spot.  The
  251. password in a special language is used only once in many years, namely,
  252. once every counter cycle (more than half a million years if N=2^64 and a
  253. 1us tick).
  254.  
  255. For client and server applications, the following exchange is also
  256. unbreakable.  Initiating the exchange, the client asks: "request for
  257. connection; reply in French."  The server replies in French: "connection
  258. completed; reply in Spain."  The phrase "reply in French" and so on serve
  259. as official seals requested by the receivers.  Since an official seal is
  260. used only once every counter cycle, the intruder, having never seen the seal
  261. before, cannot make up a message with the seal by manipulating recorded
  262. messages.  As a result, the receiver is assured that the message received
  263. with the requested seal is genuine.
  264.  
  265. Finally, one may raise the issue that we may use new operations to solve
  266. problems in finite mathematics, an issue deserving a subject on its own merit.
  267. The fundamental issue is how we find the new operations if they exist.  The
  268. new operations operate on a set p of elements to produce solutions.  The
  269. important way to resolve this issue is the closure of p under the new
  270. operations.  That is, the new operations operate on p and produce some new
  271. ones.  We join these new elements to p and repeat the process until no new
  272. element is generated.  Let the closure of p is P.  If P is finite, then the
  273. new operations, permutations on elements of P, subject to the same rules
  274. governing permutations on elements of P and to find the new operations, if they
  275. exists, may also be a problem insolvable through rational operations in
  276. finite mathematics.  Besides, P cannot contain solutions to all the problems
  277. in finite mathematics, because the set of solutions are unbounded.
  278.  
  279. If P is infinite, then the new operations are completely defined only in
  280. transfinite mathematics.  We can create these operations.  The redundancy
  281. coding used in the dynamic encryption system is an example.  The
  282. redundancy coding will encrypt a message of n bits into a code of n+k bits.
  283. Dynamic encryption will produce all possible (n+k)-bit codes and n-bit data
  284. belong to (n+k)-bit data through zero extension. Therefore, the closure of
  285. n-bit data under redundancy coding is a set of data of infinite bits.
  286. Therefore, we cannot compromise this system in finite mathematics.  However,
  287. since we use only finite number of cipher functions, we can compromise it
  288. through the exhaustive method.
  289.  
  290.                       King Lark <kinlrk@soho.ios.com>
  291.  
  292.